
# 一般读取文件 采用面向过程的方式
# 为什么呢？ 面向过程的读取方式，读取完成之后，系统自动回收资源
# 如果采用面向对象的形式，资源只要工程停止之后才会回收
"""
1. 导入json模块
2. 定义函数，函数要有参数
3. 使用with语句 读取文件
4. 将读取的JSON数据转换为Python的类型数据
5. 因为读取的数据不符合参数化的形式，所以要重新组织数据
    定义一个空列表，用于存放 符合 参数化 形式的列表
6. 对读取的数据进行遍历
7. 获取遍历中的value值
8. 将获取的value值进行类型转换
9. 将转换的数据，追加到参数化列表中
10. 返回参数化数据
"""
# 1. 导入json模块
import json
import os
import config
# 2. 定义函数，函数要有参数
def build_data(file_name):
    # 拼接文件的绝对路径
    file_path = os.path.join(config.DATA_DIR,file_name)
    # 3. 使用with语句 读取文件
    with open(file_path,'r',encoding='utf-8') as f:
        # 4. 将读取的JSON数据转换为Python的类型数据
        data = json.load(f)
        # 5. 因为读取的数据不符合参数化的形式，所以要重新组织数据
        #     定义一个空列表，用于存放 符合 参数化 形式的列表
        params_list = []
        # 6. 对读取的数据进行遍历
        for item in data:
            # 7. 获取遍历中的value值
            values = item.values()
            # 8. 将获取的value值进行类型转换
            tuple_data = tuple(values)
            # 9. 将转换的数据，追加到参数化列表中
            params_list.append( tuple_data )
        # 记得return 不要在for里边
        return params_list

if __name__ == '__main__':
    print(  build_data('login.json')  )